$(function(){
  const {form}=layui
  initArtCateList()

  // 获取文章分类的列表
  function initArtCateList(){
    $.ajax({
      method:'GET',
      url:'/my/article/cates',
      success:function(res){
        const htmlStr=template('tpl-table',res)
        $('tbody').html(htmlStr)
      }
    })
  }

  // 为添加类别按钮绑定点击事件
  let indexAdd=null
  $('#btnAdd').on('click',function(){
    indexAdd=layer.open({
      type: 1,
      area: ['500px', '250px'],
      title: '添加类别',
      content: $('#dialog-add').html()
    });   
  })

  // 通过代理的形式，为 form-add 表单绑定 submit 事件
  $('body').on('submit','#form-add',function(e){
    e.preventDefault()
    $.ajax({
      method:'POST',
      url:'/my/article/addcates',
      data:$(this).serialize(),
      success:function(res){
        if(res.status!==0){
          return layer.msg(res.message)
        }
        layer.msg(res.message)
        initArtCateList()
        // 根据索引，关闭对应的弹出层
        layer.close(indexAdd)
      }
    })
  })

  let indexEdit = null
  $('tbody').on('click','.btn-edit',function(){
     // 弹出一个修改文章分类信息的层
    indexEdit = layer.open({
      type: 1,
      area: ['500px', '250px'],
      title: '修改文章分类',
      content: $('#dialog-edit').html()
    })

    let id=$(this).attr('data-id')
    $.ajax({
      method:'GET',
      url:'/my/article/cates/'+id,
      success:function(res){
        form.val('form-edit',res.data)
      }
    })
  })

  $('body').on('submit','#form-edit',function(e){
    e.preventDefault()
    $.ajax({
      method:'POST',
      url:'/my/article/updatecate',
      data:$(this).serialize(),
      success:function(res){
        if(res.status!==0){
          return layer.msg(res.message)
        }
        layer.msg(res.message)
        layer.close(indexEdit)
        initArtCateList()
      }
    })
  })
  $('tbody').on('click','.btn-delete',function(){
    const id=$(this).attr('data-id')
    layer.confirm('确认删除?', {icon: 3, title:'提示'}, function(index){
      $.ajax({
        method:'GET',
        url:'/my/article/deletecate/'+id,
        success:function(res){
          if(res.status!==0){
            return layer.msg(res.message)
          }
          layer.msg(res.message)
          layer.close(index);
          initArtCateList()
        }
      })
    });
  })
})